Beam Maps

WMAP

Computing the Planck CMB temperature power spectrum with healpy anafast

step 1: First we load the Planck data release 3 CMB-only temperature produced by Commander by separating it out from galactic foregrounds:

.

Tool used

!curl "https://irsa.ipac.caltech.edu/data/Planck/release_3/all-sky-maps/maps/component-maps/cmb/COM_CMB_IQU-commander_2048_R3.00_full.fits" -o COM_CMB_IQU-commander_2048_R3.00_full.fits

loading masks file

Tool used

!curl "https://irsa.ipac.caltech.edu/data/Planck/release_3/ancillary-data/masks/COM_Mask_CMB-common-Mask-Int_2048_R3.00.fits" -o COM_Mask_CMB-common-Mask-Int_2048_R3.00.fits

Observation: There is residual galactic emission we should mask. The contamination just close to the galactic plane, (we could run anafast and specify a few degrees of gal_cut).

Now,we can load the binned TT CMB power spectrum:

Tool used

!curl "https://irsa.ipac.caltech.edu/data/Planck/release_3/ancillary-data/cosmoparams/COM_PowerSpect_CMB-TT-binned_R3.01.txt" -o COM_PowerSpect_CMB-TT-binned_R3.01.txt

Computing the power spectrum

Power spectra are generally plotted as $D_\ell$ which is defined as $\dfrac{\ell(\ell+1)}{2 \pi}C_\ell$, so we need to apply that factor to the $C_\ell$ calculated from the map.

Beam Correction

Reading the documentation of the Planck release we see that the output has a resolution of 5 arcminutes. Therefore as a first order correction of the beam, we can divide the power spectrum by the square of the beam window function.

Intermediate(Getting Clean Map used for analysis)

The kernel can then be used directly when calling convolve()

Getting alm

getting alms of map(sample) used from Planck

NB: The pixels which have the special UNSEEN value are replaced by zeros before spherical harmonic transform. They are converted back to UNSEEN value, so that the input maps are not modified. Each map have its own, independent mask.

" Multiply alm by a function of l. The function is assumed to be zero where not defined.

Parameters almarray The alm to multiply

flarray The function (at l=0..fl.size-1) by which alm must be multiplied.

mmaxNone or int, optional The maximum m defining the alm layout. Default: lmax.

inplacebool, optional If True, modify the given alm, otherwise make a copy before multiplying.

Returns almarray The modified alm, either a new array or a reference to input alm, if inplace is True. "

applying a spherical harmonic transform back to map space (hp.alm2map), using Nside = 1024.

visualise

Changing lmax

Estimating covariance matrix

Algorithm calculates the covariance matrix, element by element

$\sigma^2_{xy}=cov(x,y) = E\big[(x-E[x]) (y-E[y])\big] = 1/N\sum_{i=1}^N(x_i-E[x])(y_i-E[y])$

source: https://github.com/geoffwoollard/learn_cryoem_math/blob/master/nb/covariance.ipynb

Calculating for weights (Minimum variance weights)

$ w_{l} = \frac{C^{-1} e }{e^{t} C^{-1} e} $ where C is covariance matrix (9x9 in our case)